草庐IT

xml - 从日志中解析xml的sed命令

全部标签

ruby - 从 Ruby 中的 shell 命令中删除换行符

我正在尝试在脚本中运行简单的shell命令,但即使使用chomp或chop也无法删除新行。有什么我想念的吗?u=`echo'#{l}'|cut-d:-f4`.chop()p2=`echo'#{l}'|cut-d:-f3`.chop()p1=`echo'#{l}'|cut-d:-f2`.chop()h=`echo'#{l}'|cut-d:-f1`.chop()#**Cantgetnewlinestogoafterp1andp2!!??**path="#{p1}/server/#{p2}abc"putspathOutput:/usr(p1)/server/bin(p2)abcExpecte

ruby - 如何使用 bash 命令或 Ruby 使用 ffmpeg 将 mp4 文件批量转换为 ogg

我运行的是OSX,对视频转换一无所知。但我有大约200个视频都是mp4格式,无法在Firefox中播放。我需要将它们转换为ogg才能使用html5视频标签。这些文件位于一个文件夹结构中,这使得一次一个地处理一个文件变得困难。我希望bash命令或Ruby命令遍历所有子文件夹并找到所有.mp4并转换它们。我找到了一份关于如何使用Google执行此操作的引用资料:http://athmasagar.wordpress.com/2011/05/12/a-bash-script-to-convert-mp4-files-to-oggogv/#!/bin/bashforfin$(ls*mp4|se

ruby-on-rails - 用于 ruby​​/rails 的自然语言日期解析器

有人知道类似于Date.js的东西吗?在ruby?能够从诸如“从今天起两周”之类的东西返回日期对象的东西。RemembertheMilk网络应用程序将此功能整合到他们的系统中,而且非常易于使用。我会使用Date.js库本身,但因为它在客户端,所以有其局限性。如果用户没有启用javascript,则该功能将丢失。这会影响手机用户,理想情况下,他们会通过短信(sms)使用我们的系统。我很想使用已经存在的解决方案,但如果不是,将此代码移植到Ruby中会有多难?我真的不太了解自然语言解释,但似乎需要一些时间。谢谢。 最佳答案 不要忘记在Ru

Ruby:使用 'echo' 选项执行 shell 命令 '-n'

我想从Ruby运行以下shell命令,它将一个字符串复制到剪贴板(在OSX上),'n'抑制由echo引起的字符串后的换行符:echo-nfoobar|pbcopy—>工作正常,现在剪贴板包含“foobar”我尝试了以下方法,但它们总是将选项“-n”也复制到剪贴板中:%x[echo-n'foobar'|pbcopy]%x[echo-nfoobar|pbcopy]system"echo-n'foobar'|pbcopy"system"echo-nfoobar|pbcopy"exec'echo-n"foobar"|pbcopy'`echo-n"foobar"|pbcopy`IO.popen"

ruby - 使用 ruby​​-yajl 解析大型 JSON 哈希?

我有一个包含JSON散列的大文件(>50Mb)。像这样的东西:{"obj1":{"key1":"val1","key2":"val2"},"obj2":{"key1":"val1","key2":"val2"}...}与其解析整个文件并取前十个元素,不如解析散列中的每个项目。我实际上并不关心key,即obj1。如果我将上面的转换为:{"key1":"val1","key2":"val2"}"obj2":{"key1":"val1","key2":"val2"}我可以使用Yajl流轻松实现我想要的:io=File.open(path_to_file)count=10Yajl::Parse

ruby-on-rails - 使用机架中间件捕获无效的 JSON 解析错误

我正在使用Rails5,我正在尝试改进对我的API的无效JSON请求的错误处理。我尝试通过救援在Controller中解析来处理无效格式的JSON,但意识到如果用户将ContentType添加到他们的请求header,Rails中间件会在我的JSON请求到达Controller之前解析它。我遵循了以下指南:https://robots.thoughtbot.com/catching-json-parse-errors-with-custom-middleware但是,在启动服务器时出现以下错误:.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems

ruby - 安装 pry 后找不到命令

我在bash提示符下使用以下行安装了pry和相关的gem:geminstallpry-plus--no-ri--no-rdoc该命令报告了成功的gem安装。我发现的所有说明都说,在安装pry之后,我可以通过输入pry作为bash命令来获得pry提示。然而,实际结果是bash:pry:commandnotfoundwhichpry报告nopryin(...)其中省略号是$PATH。相比之下,whichrake报告/local/tbh/rbenv/shims/rake和whichgem报告/local/tbh/rbenv/垫片/gem为什么geminstall没有创建pry命令?我怎样才能

ruby-on-rails - XPath 或 CSS 解析速度更快(对于 HTML 文件上的 Nokogiri)?

我想知道NokogiriXPath或CSS解析是否可以更快地处理HTML文件。速度有何不同? 最佳答案 Nokogiri没有XPath或CSS解析。它将XML/HTML解析为单个DOM,然后您可以使用CSS或XPath语法进行查询。CSS选择器在要求libxml2执行查询之前在内部转换为XPath。因此(对于完全相同的选择器)XPath版本会快一点点,因为CSS不需要先转换成XPath。但是,您的问题没有通用答案;这取决于您选择的是什么,以及您的XPath是什么样的。很有可能,您不会编写与Nokogiri创建的相同的XPath。例如

ruby - 如何让 Ruby JSON 解析器忽略 json_class?

我有一个序列化的JSON字符串(实际上是chef角色定义),它有一个json_class键,使ruby​​JSON解析器试图强制它成为一个Chef::Role对象。我怎样才能让解析器忽略这个键,只是简单地反序列化成一个普通的哈希? 最佳答案 我遇到了同样的问题,通过阅读JSONgem的源代码找到了答案——在尝试解析之前取消设置JSON.create_id:JSON.create_id=nilJSON.parse('{"json_class":"Chef::Role"}').class=>Hash编辑:请注意,由于gem的版本为1.7

ruby-on-rails - 在 Rails 中使用数组解析 JSON

我有远程服务器返回的以下JSON字符串:{"users":[{"user_id":1,"name":"ChrisRivers",},{"user_id":3,"name":"PeterCurley",}]}我想迭代用户。ActiveSupport::JSON.decode(response.body)["users"].eachdo|user|putsuser["name"]end据我所知,问题是:ruby无法将ActiveSupport::JSON.decode(response.body)["users"]识别为数组,因此puts只返回第一个用户。我该如何解决这个问题?